Skip to content

toast: стилизация и сторисы#145

Open
khaliulin wants to merge 20 commits into
storybook-updatefrom
messages/toast
Open

toast: стилизация и сторисы#145
khaliulin wants to merge 20 commits into
storybook-updatefrom
messages/toast

Conversation

@khaliulin

Copy link
Copy Markdown
Collaborator

No description provided.

@khaliulin khaliulin requested a review from Skosov March 18, 2026 10:26
@Skosov

Skosov commented Mar 24, 2026

Copy link
Copy Markdown
Member

как-то неправильно отрабатывают сторизы. Друг на друга наслаиваются и тд
image

@Skosov

Skosov commented Mar 31, 2026

Copy link
Copy Markdown
Member

как-то неправильно отрабатывают сторизы. Друг на друга наслаиваются и тд image

проблема так и не решена

  1. Заходим в сториз
  2. пункт docs
  3. переходим к Default
  4. нажимаем несколько раз по кнопке показать
image

@khaliulin

Copy link
Copy Markdown
Collaborator Author

@Skosov фикс наложения при вызове компонента в Docs 3fe1364 и 8f3f50e

<Controls of={ToastStories.WithContent} />

### Width
Доступные размеры ширины тоста: sm (20rem), base (25rem), lg (30rem), xlg (45rem).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

каким образом они доступны? Что с ними сделать надо? Как мне получить размер?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Skosov добавил блок с примерами кода 1a1ba46

@Skosov

Skosov commented Apr 7, 2026

Copy link
Copy Markdown
Member

решить конфликты

@khaliulin

Copy link
Copy Markdown
Collaborator Author

@Skosov фикс конфликтов 2c543b0

<Controls of={ToastStories.WithContent} />

### Width
Ширина тоста задаётся через CSS-переменную `--p-toast-width` с помощью пропа `pt`. Доступные значения:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может имеет смысл через класс прокидывать эти размеры? Или обертки? Вариант с перезаписью переменной не очень удобен для использования

@khaliulin khaliulin Apr 18, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Skosov toast: ширина через CSS-классы вместо перезаписи переменной
f167a36

Danil Khaliulin added 3 commits April 18, 2026 04:24
Заменены захардкоженные значения 20rem/30rem/45rem в классах
.p-toast-sm/.p-toast-lg/.p-toast-xlg на обращения к дизайн-токенам
messages.sm.width/messages.lg.width/messages.xlg.width через функцию
dt(), как это сделано в dialog.ts и confirmdialog.ts.
@khaliulin

Copy link
Copy Markdown
Collaborator Author

@Skosov размеры тоста теперь прокидываются через CSS-классы с использованием дизайн-токенов (messages.sm.width / messages.lg.width / messages.xlg.width) вместо захардкоженных значений — так же, как это сделано в dialog.ts и confirmdialog.ts.

f192b82

Comment thread src/primeBlocks/index.ts
Comment on lines +167 to +168
import { usePBlockToast } from '@/primeBlocks/PBlockToast/usePBlockToast';
import PBlockToast from '@/primeBlocks/PBlockToast/PBlockToast.vue';

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

импорты из либы по идее должны быть, ну и везде поправить

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Skosov toast: импорты из @cdek-it/vue-ui-kit в примерах кода и из @/primeBlocks в рантайме 3d7e50d

}

.p-toast-message-error .p-toast-detail {
color: ${dt('toast.colorScheme.light.info.detailColor')};

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

toast.colorScheme.light.info.detailColor одинаковый у всех severity
-error
-warn
-success и тд
это нормально?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@esipenko Такие токены в Figma.
@khaliulin Данил, это баг/фича?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anatoly-rodin баг — copy-paste: detailColor для success/warn/error ссылался на info вместо своего severity. Визуально не проявлялось, т.к. в tokens.json все detailColor = {text.color}. Исправлено. f493c3b

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@esipenko Данил поправил баг. Теперь они разные.

Comment thread src/primeBlocks/PBlockToast/usePBlockToast.ts
</template>
<template v-else #message="slotProps">
<div class="p-toast-accent-line"></div>
<i :class="`p-icon p-toast-message-icon ti ${slotProps.message.icon}`" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай попробуем свг иконку сюда засунуть из пакета таблер для вью, потому что шрифтовые зависят от сети и не тришейкаются

в сториках тоже можно это показать

@anatoly-rodin anatoly-rodin May 31, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Skosov Добавил правки.

  1. Добавил пакет иконок таблера (такой же как ты добавил).
  2. Подключил иконки (дефолные). Определяются по severity, если не указан icon в конфиге.
  3. Оставил возможность через icon указывать иконку таблера. В этом случае, дефолтные не применяются.
  4. В кастомном шаблоне, можно указывать иконку как хочешь: через конфиг (icon), напрямую в шаблоне через <i> или вставляешь компонент-иконку из пакета таблера для Vue.

В Stories добавил инфы про этот момент.

<Canvas of={ToastStories.Default} />

#### Полный список аргументов и событий компонента.
<Controls of={ToastStories.Default} />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут можно сделать width селектором? Чтобы рукчами не вводить

Image

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

сейчас вообще объект ждёт

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Skosov Доработал этот момент. Теперь интерактивно на всех Story можно менять размер Toast.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants